def diag_sum(grid, i, j):
n, m = len(grid), len(grid[0])
ans = grid[i][j]
p, q = i+1, j+1
while p<n and q<m:
ans += grid[p][q]
p,q = p+1, q+1
p, q = i+1, j-1
while p<n and q>=0:
ans += grid[p][q]
p,q = p+1, q-1
p, q = i-1, j-1
while p>=0 and q>=0:
ans += grid[p][q]
p,q = p-1, q-1
p, q = i-1, j+1
while p>=0 and q<m:
ans += grid[p][q]
p,q = p-1, q+1
return ans
for _ in range(int(input())):
n, m = map(int, input().split())
grid = []
for _ in range(n):
grid.append(list(map(int, input().split())))
ans = 0
for i in range(len(grid)):
for j in range(len(grid[0])):
ans = max(ans, diag_sum(grid, i, j))
print(ans)
#include <bits/stdc++.h>
#define ll long long
#define test ll t;cin>>t;while(t--)
#define all(v) v.begin(),v.end()
#define len(x) (ll)x.size()
#define YES(x) cout<<(x?"YES":"NO")<<'\n';
#define Yes(x) cout<<(x?"Yes":"No")
#define yes(x) cout<<(x?"yes":"no")
#define odd(x) ((x&1))
#define even(x) !odd(x)
#define bsmallah ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
#define line cout<<'\n';
using namespace std;
int main(){
test{
ll n,m;cin>>n>>m;
ll v[n][m];
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
cin>>v[i][j];
}
}
ll curr=0,ans=0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
if(j==2&&i==2){
cout<<"";
}
curr=0;
for (int k = 1; k < max(n,m); ++k) {
if(i+k<n){
if(j+k<m){
curr+=v[i+k][j+k];
}
if(j-k>=0){
curr+=v[i+k][j-k];
}
}
if(i-k>=0){
if(j+k<m){
curr+=v[i-k][j+k];
}
if(j-k>=0){
curr+=v[i-k][j-k];
}
}
}
curr+=v[i][j];
ans=max(curr,ans);
}
}
cout<<ans<<'\n';
}
}
415. Add Strings | 22. Generate Parentheses |
13. Roman to Integer | 2. Add Two Numbers |
515. Find Largest Value in Each Tree Row | 345. Reverse Vowels of a String |
628. Maximum Product of Three Numbers | 1526A - Mean Inequality |
1526B - I Hate 1111 | 1881. Maximum Value after Insertion |
237. Delete Node in a Linked List | 27. Remove Element |
39. Combination Sum | 378. Kth Smallest Element in a Sorted Matrix |
162. Find Peak Element | 1529A - Eshag Loves Big Arrays |
19. Remove Nth Node From End of List | 925. Long Pressed Name |
1051. Height Checker | 695. Max Area of Island |
402. Remove K Digits | 97. Interleaving String |
543. Diameter of Binary Tree | 124. Binary Tree Maximum Path Sum |
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts | 501A - Contest |
160A- Twins | 752. Open the Lock |
1535A - Fair Playoff | 1538F - Interesting Function |